/**
 * 
 */
package istar;





/**
 * @author csid
 * @model 
 */
public interface IDependency extends Cloneable{

	public static final int OPEN = 0;

	public static final int COMMITTED = 1;
	
	public static final int CRITICAL = 2;
	
	//public static final int DELEGATION = 3;
	//public static final int PERMISSION = 4;
	//public static final int TRUST = 5;
	//public static final int OWNER = 6;
	
	public String getName();

	public void setName(String value);

	public int getType();
    
	public void setType(int value);

    public IActor getDepender();
    
    public IActor getDependee();
    
    public IElement getDependum();
    
	public IElement getDependerElement();

	public IElement getDependeeElement();

	public void setDependum(IElement value);

	abstract Object clone() throws CloneNotSupportedException;
}
